package m1_simple;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

public class Producer {
    public static void main(String[] args) throws Exception{
        //1.连接 - 连接，通道
        ConnectionFactory f = new ConnectionFactory();
        f.setHost("192.168.64.140");
        f.setPort(5672);
        f.setUsername("admin");
        f.setPassword("admin");
        Connection con =f.newConnection();
        Channel c = con.createChannel();

        //2.定义队列
        //告诉服务器我们要使用的队列是哪个队列
        //如果已经存在直接使用
        //如果不存在，mq服务器会新建队列
        c.queueDeclare("helloworld",
                        false,
                        false,
                        false,
                        null);
        /*
         * 发布消息
         * 这里把消息向默认交换机发送.
         * 默认交换机隐含与所有队列绑定,routing key即为队列名称
         *
         * 参数含义:
         * 	-exchange: 交换机名称,空串表示默认交换机"(AMQP default)",不能用 null
         * 	-routingKey: 对于默认交换机,路由键就是目标队列名称
         * 	-props: 其他参数,例如头信息
         * 	-body: 消息内容byte[]数组
         */
        c.basicPublish("",
                "helloworld",
                null,
                "Hello world!".getBytes());


        //3.发送消息
        System.out.println("消息已发送");
        //4.释放资源
        c.close();
        con.close();
    }
}
